<?xml version = "1.0" encoding = "UTF-8"?>
<!-- $Header: /cvsroot/ebxmlrr/ebxmlrr-spec/misc/3.0/schema/rs.xsd,v 1.9 2005/01/31 22:33:54 farrukh_najmi Exp $ -->
<schema targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0" 
  xmlns="http://www.w3.org/2001/XMLSchema" 
  xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" 
  xmlns:tns="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified"
  >
  
  <annotation>
    <documentation xml:lang="en">The schema for OASIS ebXML Registry Services</documentation>
  </annotation>
  <!-- Import the rim.xsd file with XML schema mappaing from RIM -->
  <import namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" schemaLocation="rim.xsd"/>
  <complexType name="RegistryRequestType">
    <annotation>
      <documentation xml:lang="en">Base type for all ebXML Registry requests</documentation>
    </annotation>
    <sequence>
      <!-- every request may be extended using Slots. -->
      <element maxOccurs="1" minOccurs="0" name="RequestSlotList" type="rim:SlotListType"/>
    </sequence>    
    <attribute name="id" type="anyURI" use="optional"/>
    <!--Comment may be used by requestor to describe the request. Used in VersionInfo.comment-->
    <attribute name="comment" type="string" use="optional"/>
  </complexType>
  <element name="RegistryRequest" type="tns:RegistryRequestType"/>  
  <element name="RegistryErrorList">
    <annotation>
      <documentation xml:lang="en">The RegistryErrorList is derived from the ErrorList element from the ebXML Message Service Specification</documentation>
    </annotation>
    <complexType>
      <sequence>
        <element maxOccurs="unbounded" ref="tns:RegistryError"/>
      </sequence>
      <attribute name="highestSeverity" type="rim:referenceURI" use="optional"/>
    </complexType>
  </element>
  <element name="RegistryError">
    <complexType>
      <simpleContent>
        <extension base="string">
          <attribute name="codeContext" type="string" use="required"/>
          <attribute name="errorCode" type="string" use="required"/>
          <attribute default="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error" name="severity" type="rim:referenceURI" />
          <attribute name="location" type="string" use="optional"/>
        </extension>
      </simpleContent>
    </complexType>
  </element>
  <complexType name="RegistryResponseType">
    <annotation>
      <documentation xml:lang="en">Base type for all ebXML Registry responses</documentation>
    </annotation>
    <sequence>
      <!-- every response may be extended using Slots. -->
      <element maxOccurs="1" minOccurs="0" name="ResponseSlotList" type="rim:SlotListType"/>
      <element minOccurs="0" ref="tns:RegistryErrorList"/>
    </sequence>
    <attribute name="status" type="rim:referenceURI" use="required"/>
    <!-- id is the request if for the request for which this is a response -->
    <attribute name="requestId" type="anyURI" use="optional"/>
  </complexType>
  <element name="RegistryResponse" type="tns:RegistryResponseType"/>
</schema>
